
package com.kakarote.ids.provider.entity.BO;

import javax.validation.constraints.NotEmpty;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel("获取tokenBO")
public class AuthorizeBO {
	@ApiModelProperty("clientId")
	@NotEmpty(message = "clientId 不能为空")
	private String clientId;
	@ApiModelProperty("重定向地址")
	@NotEmpty(message = "redirectUri 不能为空")
	private String redirectUri;
	@ApiModelProperty("应用授权作用域")
	@NotEmpty(message = "scope 不能为空")
	private String scope;

	public void setClientId(String clientId) {
		this.clientId = clientId;
	}

	@ApiModelProperty("返回类型")
	@NotEmpty(message = "responseType 不能为空")
	private String responseType;
	@ApiModelProperty("用户自定义输入值")
	private String state;
	@ApiModelProperty("授权code")
	private String code;

	public void setRedirectUri(String redirectUri) {
		this.redirectUri = redirectUri;
	}

	public void setScope(String scope) {
		this.scope = scope;
	}

	public void setResponseType(String responseType) {
		this.responseType = responseType;
	}

	public void setState(String state) {
		this.state = state;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public boolean equals(Object o) {
		if (o == this)
			return true;
		if (!(o instanceof AuthorizeBO))
			return false;
		AuthorizeBO other = (AuthorizeBO) o;
		if (!other.canEqual(this))
			return false;
		Object this$clientId = getClientId(), other$clientId = other.getClientId();
		if ((this$clientId == null) ? (other$clientId != null) : !this$clientId.equals(other$clientId))
			return false;
		Object this$redirectUri = getRedirectUri(), other$redirectUri = other.getRedirectUri();
		if ((this$redirectUri == null) ? (other$redirectUri != null) : !this$redirectUri.equals(other$redirectUri))
			return false;
		Object this$scope = getScope(), other$scope = other.getScope();
		if ((this$scope == null) ? (other$scope != null) : !this$scope.equals(other$scope))
			return false;
		Object this$responseType = getResponseType(), other$responseType = other.getResponseType();
		if ((this$responseType == null) ? (other$responseType != null) : !this$responseType.equals(other$responseType))
			return false;
		Object this$state = getState(), other$state = other.getState();
		if ((this$state == null) ? (other$state != null) : !this$state.equals(other$state))
			return false;
		Object this$code = getCode(), other$code = other.getCode();
		return !((this$code == null) ? (other$code != null) : !this$code.equals(other$code));
	}

	protected boolean canEqual(Object other) {
		return other instanceof AuthorizeBO;
	}

	public int hashCode() {
		int PRIME = 59;
		int result = 1;
		Object $clientId = getClientId();
		result = result * 59 + (($clientId == null) ? 43 : $clientId.hashCode());
		Object $redirectUri = getRedirectUri();
		result = result * 59 + (($redirectUri == null) ? 43 : $redirectUri.hashCode());
		Object $scope = getScope();
		result = result * 59 + (($scope == null) ? 43 : $scope.hashCode());
		Object $responseType = getResponseType();
		result = result * 59 + (($responseType == null) ? 43 : $responseType.hashCode());
		Object $state = getState();
		result = result * 59 + (($state == null) ? 43 : $state.hashCode());
		Object $code = getCode();
		return result * 59 + (($code == null) ? 43 : $code.hashCode());
	}

	public String toString() {
		return "AuthorizeBO(clientId=" + getClientId() + ", redirectUri=" + getRedirectUri() + ", scope=" + getScope()
				+ ", responseType=" + getResponseType() + ", state=" + getState() + ", code=" + getCode() + ")";
	}

	public String getClientId() {
		return this.clientId;
	}

	public String getRedirectUri() {
		return this.redirectUri;
	}

	public String getScope() {
		return this.scope;
	}

	public String getResponseType() {
		return this.responseType;
	}

	public String getState() {
		return this.state;
	}

	public String getCode() {
		return this.code;
	}
}
